package at.fhooe.mc.master.clc.server.businesslogic;

/**
 * This is the business adapter that is used to manage the metrics creation.
 * Through this adapter the small and big data chunks will be written to the datastore
 * and the adapter will measure the times for saving/loading/deleting the data chunks.
 * The adapter will then save the metrics in the datastore.
 * <br>
 * If you want to request already existing metrics data take a look at {@link IMetricsDataAdapter}.
 * 
 * @author Daniel Karzel
 *
 */
public interface IMetricsAdapter
{
	/**
	 * Runs one complete cycle for all frameworks - one complete cycle includes: <br>
	 * - saving big data chunk to datastore <br>
	 * - saving small data chunk to datastore <br>
	 * - loading big data chunk from datastore <br>
	 * - loading small data chunk to datastore <br>
	 * - deleting big data chunk from datastore <br>
	 * - deleting small data chunk from datastore <br>
	 * <br>
	 * For all these actions the metrics will be stored in the datastore afterwards.
	 * Note that the time-stamp of the metrics will be one timestamp that is take in the 
	 * beginning of the run (one run gets one time-stamp).<br>
	 * <br>
	 * This method is usually called though an automated job (cron-job) periodically.
	 */
	public void runCompleteMetricsCycle();
}
